﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using Telerik.WinControls;
using BusinessLogicLayer.Logistica;
using BusinessLogicLayer.Global;
using BusinessEntityLayer.Resultado;
using Telerik.WinControls.UI;

namespace Reportes.Logistica.Reportes
{
    public partial class MercaderiaContable : Form
    {
        public MercaderiaContable()
        {
            InitializeComponent();
        }

        private static MercaderiaContable m_FormDefInstance;
        public static MercaderiaContable DefInstance
        {
            get
            {
                if (m_FormDefInstance == null || m_FormDefInstance.IsDisposed)
                    m_FormDefInstance = new MercaderiaContable();
                return m_FormDefInstance;
            }
            set
            {
                m_FormDefInstance = value;
            }
        }

        #region "declaraciones"

        String VL_EMPRCODIGO;
        String VL_ALMCODIGO;
        String VL_MES;
        String VL_ANIO;
        String VL_PROCODIGOBARRASEXT;
        Int32 VL_OPCION;

        public static String idsMateriales = null;

        #endregion

        #region "Procedimientos de evento de controles"

        private void KardexValorizado_Load(object sender, EventArgs e)
        {
            CargarCuentaContable();
            CargarMateriales();
        }
 
        #endregion

        private void CargarCuentaContable()
        {
            SrvGlobal VL_SrvGlobal = new SrvGlobal();
            BeanResultado.ResultadoSelect VL_BeanResultado = new BeanResultado.ResultadoSelect();

            try
            {
                VL_BeanResultado = VL_SrvGlobal.Fnc_Listar_Materiales(4,null,null,null);

                if (VL_BeanResultado.blnExiste == true)
                {
                    //dgvMaterial.c.DataSource = VL_BeanResultado.dtResultado;
                    lblNroRegistros.Text = dgvMaterial.RowCount.ToString() + " Registros";

                    GridViewComboBoxColumn supplierColumn = new GridViewComboBoxColumn();
                    supplierColumn.Name = "cbogrillaCuenta";
                    supplierColumn.HeaderText = "Cuenta Contable";
                    supplierColumn.DataSource = VL_BeanResultado.dtResultado;
                    supplierColumn.ValueMember = "CODI_CONTABLE";
                    supplierColumn.DisplayMember = "DESC_CONTABLE";
                    supplierColumn.FieldName = "CTAMATERIAL";
                    supplierColumn.Width = 200;
                    this.dgvMaterial.Columns.Add(supplierColumn);
                }
                else
                {
                    MessageBox.Show(VL_BeanResultado.strMensaje, "Mensaje del Sistema");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Mensaje del Sistema");
            }
        }

        private void dgvMaterial_ValueChanged(object sender, EventArgs e)
        {
            RadDropDownListEditor editor = this.dgvMaterial.ActiveEditor as RadDropDownListEditor;
            if (editor != null)
            {
                //((RadDropDownListEditorElement)((RadDropDownListEditor)this.dgvMaterial.ActiveEditor).EditorElement).RightToLeft = true;
                SrvMateriales VL_SrvMaterial = new SrvMateriales();
                BeanResultado.ResultadoTransaccion VL_BeanResultado = new BeanResultado.ResultadoTransaccion();

                VL_BeanResultado = VL_SrvMaterial.Fnc_Actualizar_Material(2, Convert.ToString(dgvMaterial.CurrentRow.Cells["EmprCodigo"].Value), Convert.ToString(dgvMaterial.CurrentRow.Cells["ProCodigoBarrasExt"].Value), editor.Value.ToString());

                if (VL_BeanResultado.blnResultado == false)
                {
                    MessageBox.Show(VL_BeanResultado.strMensaje, "Error");
                    return;
                }
                else
                {
                    return;
                }


            }
        }

        #region "Métodos privados"

        private void CargarMateriales()
        {
            SrvGlobal VL_SrvGlobal = new SrvGlobal();
            BeanResultado.ResultadoSelect VL_BeanResultado = new BeanResultado.ResultadoSelect();

            try
            {

                VL_BeanResultado = VL_SrvGlobal.Fnc_Listar_Materiales(0,null,null,null);

                if (VL_BeanResultado.blnExiste == true)
                {
                    dgvMaterial.DataSource = VL_BeanResultado.dtResultado;
                    lblNroRegistros.Text = dgvMaterial.RowCount.ToString() + " Registros";
                }
                else
                {
                    MessageBox.Show(VL_BeanResultado.strMensaje, "Mensaje del Sistema");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Mensaje del Sistema");
            }
        }

        #endregion 

    }
}
